﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class УправлениеПроектами
	{
		// Процедура распределяет сумму продаж по проектам.
		// Параметры:
		// 		ТабДвижений      - таблица значений, со структурой соответствующей структуре регистра Затраты
		//		Строка           - строка ТабДвижений. в ней содержится все данные записи регистра кроме проекта.
		//					       сумма в данной строке изменится при выходе из процедуры
		//		ВидРаспределения - проект, элемент справочника "Виды распределения по проектам".
		//

		public void РаспределитьПродажиПоПроектам(/*ТабДвижений, Строка, ВидРаспределения, Знач ДатаКонМесяца*/)
		{
			/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	РаспределениеПоПроектамСрезПоследних.Проект,
		|	РаспределениеПоПроектамСрезПоследних.ДоляРаспределения
		|ИЗ
		|	РегистрСведений.РаспределениеПоПроектам.СрезПоследних(&КонМесяца, ВидРаспределения = &ВидРаспределения) КАК РаспределениеПоПроектамСрезПоследних
		|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр( "ВидРаспределения", ВидРаспределения);
			//Запрос.УстановитьПараметр( "КонМесяца",        КонецМесяца( ДатаКонМесяца));
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//ОбщегоНазначения.Сообщение("Не удалось выполнить распределение продаж по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
			}
			//Стоимость 			= Строка.Стоимость;
			//СтоимостьБезСкидок 	= Строка.СтоимостьБезСкидок;
			//Количество 			= Строка.Количество;
			//ТабЗапроса = РезультатЗапроса.Выгрузить();
			//МассивКоэф = ТабЗапроса.ВыгрузитьКолонку("ДоляРаспределения");
			//МассивСтоимость 		 = ОбщегоНазначения.РаспределитьПропорционально(Стоимость, МассивКоэф,,Ложь);
			//МассивСтоимостьБезСкидок = ОбщегоНазначения.РаспределитьПропорционально(СтоимостьБезСкидок, МассивКоэф,,Ложь);
			//МассивКоличество		 = ОбщегоНазначения.РаспределитьПропорционально(Количество, МассивКоэф,,Ложь);
			//ЕстьДвиженияПоНДС=НЕ ТабДвижений.Колонки.Найти("НДС")=Неопределено;
			if(true/*ЕстьДвиженияПоНДС*/)
			{
				//НДС		 			= Строка.НДС;
				//МассивНДС			= ОбщегоНазначения.РаспределитьПропорционально(НДС, МассивКоэф,,Ложь);
			}
			if(true/*МассивСтоимость = Неопределено*/)
			{
				//НоваяСтрока = ТабДвижений.Добавить();
				//ОбщегоНазначения.КопироватьСтрокуТаблицыЗначений(НоваяСтрока, Строка, ТабДвижений);
				//ОбщегоНазначения.Сообщение("Неверные коэффициенты (сумма) для распределения продаж по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
			}
		}
		// РаспределитьПродажиПоПроектам()
		// Процедура распределяет сумму закупок по проектам.
		// Параметры:
		// 		ТабДвижений      - таблица значений, со структурой соответствующей структуре регистра Затраты
		//		Строка           - строка ТабДвижений. в ней содержится все данные записи регистра кроме проекта.
		//					       сумма в данной строке изменится при выходе из процедуры
		//		ВидРаспределения - проект, элемент справочника "Виды распределения по проектам".
		//

		public void РаспределитьЗакупкиПоПроектам(/*ТабДвижений, Строка, ВидРаспределения, Знач ДатаКонМесяца*/)
		{
			/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	РаспределениеПоПроектамСрезПоследних.Проект,
		|	РаспределениеПоПроектамСрезПоследних.ДоляРаспределения
		|ИЗ
		|	РегистрСведений.РаспределениеПоПроектам.СрезПоследних(&КонМесяца, ВидРаспределения = &ВидРаспределения) КАК РаспределениеПоПроектамСрезПоследних
		|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр( "ВидРаспределения", ВидРаспределения);
			//Запрос.УстановитьПараметр( "КонМесяца",        КонецМесяца( ДатаКонМесяца));
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//ОбщегоНазначения.Сообщение("Не удалось выполнить распределение закупок по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
			}
			//Стоимость  	= Строка.Стоимость;
			//Количество 	= Строка.Количество;
			//ТабЗапроса = РезультатЗапроса.Выгрузить();
			//МассивКоэф 		 = ТабЗапроса.ВыгрузитьКолонку("ДоляРаспределения");
			//МассивСтоимость  = ОбщегоНазначения.РаспределитьПропорционально(Стоимость, МассивКоэф,,Ложь);
			//МассивКоличество = ОбщегоНазначения.РаспределитьПропорционально(Количество, МассивКоэф,,Ложь);
			//ЕстьДвиженияПоНДС=НЕ ТабДвижений.Колонки.Найти("НДС")=Неопределено;
			if(true/*ЕстьДвиженияПоНДС*/)
			{
				//НДС		 			= Строка.НДС;
				//МассивНДС			= ОбщегоНазначения.РаспределитьПропорционально(НДС, МассивКоэф,,Ложь);
			}
			if(true/*МассивСтоимость = Неопределено*/)
			{
				//ОбщегоНазначения.Сообщение("Неверные коэффициенты (сумма) для распределения закупок по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
				//НоваяСтрока = ТабДвижений.Добавить();
				//ОбщегоНазначения.КопироватьСтрокуТаблицыЗначений(НоваяСтрока, Строка, ТабДвижений);
			}
		}
		// РаспределитьЗакупкиПоПроектам()
		// Процедура распределяет движения денежных средств по проектам.
		// Параметры:
		// 		ТабДвижений      - таблица значений, со структурой соответствующей структуре регистра Затраты
		//		Строка           - строка ТабДвижений. в ней содержится все данные записи регистра кроме проекта.
		//					       сумма в данной строке изменится при выходе из процедуры
		//		ВидРаспределения - проект, элемент справочника "Виды распределения по проектам".
		//

		public void РаспределитьДвиженияДСПоПроектам(/*ТабДвижений, Строка, ВидРаспределения, Знач ДатаКонМесяца*/)
		{
			/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	РаспределениеПоПроектамСрезПоследних.Проект,
		|	РаспределениеПоПроектамСрезПоследних.ДоляРаспределения
		|ИЗ
		|	РегистрСведений.РаспределениеПоПроектам.СрезПоследних(&КонМесяца, ВидРаспределения = &ВидРаспределения) КАК РаспределениеПоПроектамСрезПоследних
		|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр( "ВидРаспределения", ВидРаспределения);
			//Запрос.УстановитьПараметр( "КонМесяца",        КонецМесяца( ДатаКонМесяца));
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//ОбщегоНазначения.Сообщение("Не удалось выполнить распределение движений денежных средств по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
			}
			//Сумма  = Строка.Сумма;
			//СуммаУпр = Строка.СуммаУпр;
			//ТабЗапроса = РезультатЗапроса.Выгрузить();
			//МассивКоэф 		 = ТабЗапроса.ВыгрузитьКолонку("ДоляРаспределения");
			//МассивСумма  = ОбщегоНазначения.РаспределитьПропорционально(Сумма, МассивКоэф,,Ложь);
			//МассивСуммаУпр= ОбщегоНазначения.РаспределитьПропорционально(СуммаУпр, МассивКоэф,,Ложь);
			if(true/*МассивСумма = Неопределено*/)
			{
				//ОбщегоНазначения.Сообщение("Неверные коэффициенты (сумма) для распределения движения денежных средств по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
				//НоваяСтрока = ТабДвижений.Добавить();
				//ОбщегоНазначения.КопироватьСтрокуТаблицыЗначений(НоваяСтрока, Строка, ТабДвижений);
			}
		}
		// РаспределитьДвиженияДСПоПроектам

		public object ПолучитьТаблицуРаспределенияЗаказПокупателя(/*Ссылка,Дата*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) КАК Проект,
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ КАК ЕстьРаспределение,
	             |	СУММА(ЕСТЬNULL(ДвиженияПоЗаказу.Сумма, 0)) КАК Сумма
	             |ИЗ
	             |	(ВЫБРАТЬ
	             |		УстановкаПроектовДляНоменклатурыСрезПоследних.Проект КАК Проект,
	             |		ЗаказыПокупателейОстатки.СуммаУпрОстаток КАК Сумма
	             |	ИЗ
	             |		РегистрНакопления.ЗаказыПокупателей.Остатки(&Дата, ЗаказПокупателя = &Ссылка) КАК ЗаказыПокупателейОстатки
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних(
	             |			&Дата,
	             |			НоменклатураПроекта В
	             |			    (ВЫБРАТЬ
	             |			        ЗаказыПокупателейОстатки.Номенклатура
	             |			    ИЗ
	             |			        РегистрНакопления.ЗаказыПокупателей.Остатки(&Дата, ЗаказПокупателя = &Ссылка) КАК ЗаказыПокупателейОстатки)) КАК УстановкаПроектовДляНоменклатурыСрезПоследних
	             |			ПО ЗаказыПокупателейОстатки.Номенклатура = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта
	             |	
	             |	ОБЪЕДИНИТЬ ВСЕ
	             |	
	             |	ВЫБРАТЬ
	             |		ПродажиОбороты.Проект,
	             |		ПродажиОбороты.СтоимостьОборот
	             |	ИЗ
	             |		РегистрНакопления.Продажи.Обороты(, , , ЗаказПокупателя = &Ссылка) КАК ПродажиОбороты) КАК ДвиженияПоЗаказу
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект),
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ";*/
			//Запрос.УстановитьПараметр("Дата",Дата);
			//Запрос.УстановитьПараметр("Ссылка",Ссылка);
			//Запрос.УстановитьПараметр("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//ТабЗаказ=Запрос.Выполнить().Выгрузить();
			//ТабЗаказ.Колонки.Добавить("СуммаУпр",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТабИтог=ТабЗаказ.СкопироватьКолонки();
			//ТабИтог.Свернуть("Проект","Сумма");
			return null;
		}
		// ПолучитьТаблицуРаспределенияЗаказПокупателя()

		public object ПолучитьТаблицуРаспределенияСчетНаОплатуПокупателю(/*Ссылка,Дата,ВалютаУпрУчета*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) КАК Проект,
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ КАК ЕстьРаспределение,
	             |	СУММА(ЕСТЬNULL(ДвиженияПоСчету.Сумма, 0)) КАК Сумма
	             |ИЗ
	             |	(ВЫБРАТЬ
	             |		ВЫРАЗИТЬ(ВЫБОР
	             |				КОГДА ДокументЗаказ.ВалютаДокумента = &ВалютаУпрУчета
	             |					ТОГДА ДокументЗаказ.Сумма
	             |				КОГДА КурсыУпрУчета.Курс ЕСТЬ NULL 
	             |						ИЛИ КурсыДокумента.Курс ЕСТЬ NULL 
	             |					ТОГДА 0
	             |				КОГДА ДокументЗаказ.ВалютаДокумента <> &ВалютаУпрУчета
	             |						И КурсыДокумента.Курс <> 0
	             |						И КурсыУпрУчета.Курс <> 0
	             |					ТОГДА ДокументЗаказ.Сумма * КурсыДокумента.Курс * КурсыУпрУчета.Кратность / (КурсыУпрУчета.Курс * КурсыДокумента.Кратность)
	             |				ИНАЧЕ 0
	             |			КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Сумма,
	             |		УстановкаПроектовДляНоменклатурыСрезПоследних.Проект КАК Проект
	             |	ИЗ
	             |		(ВЫБРАТЬ
	             |			СчетНаОплатуПокупателюТовары.Ссылка.ВалютаДокумента КАК ВалютаДокумента,
	             |			СчетНаОплатуПокупателюТовары.Номенклатура КАК Номенклатура,
	             |			СчетНаОплатуПокупателюТовары.Сумма КАК Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
	             |		ГДЕ
	             |			СчетНаОплатуПокупателюТовары.Ссылка = &Ссылка
	             |		
	             |		ОБЪЕДИНИТЬ ВСЕ
	             |		
	             |		ВЫБРАТЬ
	             |			СчетНаОплатуПокупателюВозвратнаяТара.Ссылка.ВалютаДокумента,
	             |			СчетНаОплатуПокупателюВозвратнаяТара.Номенклатура,
	             |			СчетНаОплатуПокупателюВозвратнаяТара.Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПокупателю.ВозвратнаяТара КАК СчетНаОплатуПокупателюВозвратнаяТара
	             |		ГДЕ
	             |			СчетНаОплатуПокупателюВозвратнаяТара.Ссылка = &Ссылка
	             |		
	             |		ОБЪЕДИНИТЬ ВСЕ
	             |		
	             |		ВЫБРАТЬ
	             |			СчетНаОплатуПокупателюУслуги.Ссылка.ВалютаДокумента,
	             |			СчетНаОплатуПокупателюУслуги.Номенклатура,
	             |			СчетНаОплатуПокупателюУслуги.Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателюУслуги
	             |		ГДЕ
	             |			СчетНаОплатуПокупателюУслуги.Ссылка = &Ссылка) КАК ДокументЗаказ
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних(
	             |			&Дата,
	             |			НоменклатураПроекта В
	             |			    (ВЫБРАТЬ РАЗЛИЧНЫЕ
	             |			        СчетНаОплатуПокупателюТовары.Номенклатура КАК Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
	             |			    ГДЕ
	             |			        СчетНаОплатуПокупателюТовары.Ссылка = &Ссылка
	             |			
	             |			    ОБЪЕДИНИТЬ
	             |			
	             |			    ВЫБРАТЬ
	             |			        СчетНаОплатуПокупателюВозвратнаяТара.Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПокупателю.ВозвратнаяТара КАК СчетНаОплатуПокупателюВозвратнаяТара
	             |			    ГДЕ
	             |			        СчетНаОплатуПокупателюВозвратнаяТара.Ссылка = &Ссылка
	             |			
	             |			    ОБЪЕДИНИТЬ
	             |			
	             |			    ВЫБРАТЬ
	             |			        СчетНаОплатуПокупателюУслуги.Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателюУслуги
	             |			    ГДЕ
	             |			        СчетНаОплатуПокупателюУслуги.Ссылка = &Ссылка)) КАК УстановкаПроектовДляНоменклатурыСрезПоследних
	             |			ПО ДокументЗаказ.Номенклатура = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &ВалютаУпрУчета) КАК КурсыУпрУчета
	             |			ПО (ИСТИНА)
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыДокумента
	             |			ПО ДокументЗаказ.ВалютаДокумента = КурсыДокумента.Валюта) КАК ДвиженияПоСчету
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект),
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ";*/
			//Запрос.УстановитьПараметр("Дата",Дата);
			//Запрос.УстановитьПараметр("Ссылка",Ссылка);
			//Запрос.УстановитьПараметр("ВалютаУпрУчета",ВалютаУпрУчета);
			//Запрос.УстановитьПараметр("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//ТабЗаказ=Запрос.Выполнить().Выгрузить();
			//ТабЗаказ.Колонки.Добавить("СуммаУпр",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТабИтог=ТабЗаказ.СкопироватьКолонки();
			//ТабИтог.Свернуть("Проект","Сумма");
			return null;
		}
		// ПолучитьТаблицуРаспределенияСчетНаОплатуПокупателю()
		//
		//

		public object ПолучитьТаблицуРаспределенияПоПродажам(/*Ссылка*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ПродажиОбороты.Проект КАК Проект,
	             |	СУММА(ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот, 0)) КАК Сумма
	             |ИЗ
	             |	РегистрНакопления.Продажи.Обороты(, , , ДокументПродажи = &Ссылка) КАК ПродажиОбороты
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ПродажиОбороты.Проект";*/
			//Запрос.УстановитьПараметр("Ссылка",Ссылка);
			return null;
		}
		// ПолучитьТаблицуРаспределенияПоПродажам()

		public object ПолучитьТаблицуРаспределенияЗаказПоставщику(/*Ссылка,Дата*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) КАК Проект,
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ КАК ЕстьРаспределение,
	             |	СУММА(ЕСТЬNULL(ДвиженияПоЗаказу.Сумма, 0)) КАК Сумма
	             |ИЗ
	             |	(ВЫБРАТЬ
	             |		УстановкаПроектовДляНоменклатурыСрезПоследних.Проект КАК Проект,
	             |		ЗаказыПоставщикамОстатки.СуммаУпрОстаток КАК Сумма
	             |	ИЗ
	             |		РегистрНакопления.ЗаказыПоставщикам.Остатки(&Дата, ЗаказПоставщику = &Ссылка) КАК ЗаказыПоставщикамОстатки
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних(
	             |			&Дата,
	             |			НоменклатураПроекта В
	             |			    (ВЫБРАТЬ
	             |			        ЗаказыПоставщикамОстатки.Номенклатура
	             |			    ИЗ
	             |			        РегистрНакопления.ЗаказыПоставщикам.Остатки(&Дата, ЗаказПоставщику = &Ссылка) КАК ЗаказыПоставщикамОстатки)) КАК УстановкаПроектовДляНоменклатурыСрезПоследних
	             |			ПО ЗаказыПоставщикамОстатки.Номенклатура = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта
	             |	
	             |	ОБЪЕДИНИТЬ ВСЕ
	             |	
	             |	ВЫБРАТЬ
	             |		ЗакупкиОбороты.Проект,
	             |		ЗакупкиОбороты.СтоимостьОборот
	             |	ИЗ
	             |		РегистрНакопления.Закупки.Обороты(, , , ЗаказПоставщику = &Ссылка) КАК ЗакупкиОбороты) КАК ДвиженияПоЗаказу
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект),
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоЗаказу.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ";*/
			//Запрос.УстановитьПараметр("Дата",Дата);
			//Запрос.УстановитьПараметр("Ссылка",Ссылка);
			//Запрос.УстановитьПараметр("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//ТабЗаказ=Запрос.Выполнить().Выгрузить();
			//ТабЗаказ.Колонки.Добавить("СуммаУпр",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТабИтог=ТабЗаказ.СкопироватьКолонки();
			//ТабИтог.Свернуть("Проект","Сумма");
			return null;
		}
		// ПолучитьТаблицуРаспределенияЗаказПоставщику()

		public object ПолучитьТаблицуРаспределенияСчетНаОплатуПоставщика(/*Ссылка,Дата,ВалютаУпрУчета*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) КАК Проект,
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ КАК ЕстьРаспределение,
	             |	СУММА(ЕСТЬNULL(ДвиженияПоСчету.Сумма, 0)) КАК Сумма
	             |ИЗ
	             |	(ВЫБРАТЬ
	             |		ВЫРАЗИТЬ(ВЫБОР
	             |				КОГДА ДокументЗаказ.ВалютаДокумента = &ВалютаУпрУчета
	             |					ТОГДА ДокументЗаказ.Сумма
	             |				КОГДА КурсыУпрУчета.Курс ЕСТЬ NULL 
	             |						ИЛИ КурсыДокумента.Курс ЕСТЬ NULL 
	             |					ТОГДА 0
	             |				КОГДА ДокументЗаказ.ВалютаДокумента <> &ВалютаУпрУчета
	             |						И КурсыДокумента.Курс <> 0
	             |						И КурсыУпрУчета.Курс <> 0
	             |					ТОГДА ДокументЗаказ.Сумма * КурсыДокумента.Курс * КурсыУпрУчета.Кратность / (КурсыУпрУчета.Курс * КурсыДокумента.Кратность)
	             |				ИНАЧЕ 0
	             |			КОНЕЦ КАК ЧИСЛО(15, 2)) КАК Сумма,
	             |		УстановкаПроектовДляНоменклатурыСрезПоследних.Проект КАК Проект
	             |	ИЗ
	             |		(ВЫБРАТЬ
	             |			СчетНаОплатуПоставщикаТовары.Ссылка.ВалютаДокумента КАК ВалютаДокумента,
	             |			СчетНаОплатуПоставщикаТовары.Номенклатура КАК Номенклатура,
	             |			СчетНаОплатуПоставщикаТовары.Сумма КАК Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПоставщика.Товары КАК СчетНаОплатуПоставщикаТовары
	             |		ГДЕ
	             |			СчетНаОплатуПоставщикаТовары.Ссылка = &Ссылка
	             |		
	             |		ОБЪЕДИНИТЬ ВСЕ
	             |		
	             |		ВЫБРАТЬ
	             |			СчетНаОплатуПоставщикаВозвратнаяТара.Ссылка.ВалютаДокумента,
	             |			СчетНаОплатуПоставщикаВозвратнаяТара.Номенклатура,
	             |			СчетНаОплатуПоставщикаВозвратнаяТара.Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПоставщика.ВозвратнаяТара КАК СчетНаОплатуПоставщикаВозвратнаяТара
	             |		ГДЕ
	             |			СчетНаОплатуПоставщикаВозвратнаяТара.Ссылка = &Ссылка
	             |		
	             |		ОБЪЕДИНИТЬ ВСЕ
	             |		
	             |		ВЫБРАТЬ
	             |			СчетНаОплатуПоставщикаУслуги.Ссылка.ВалютаДокумента,
	             |			СчетНаОплатуПоставщикаУслуги.Номенклатура,
	             |			СчетНаОплатуПоставщикаУслуги.Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПоставщика.Услуги КАК СчетНаОплатуПоставщикаУслуги
	             |		ГДЕ
	             |			СчетНаОплатуПоставщикаУслуги.Ссылка = &Ссылка
	             |		
	             |		ОБЪЕДИНИТЬ ВСЕ
	             |		
	             |		ВЫБРАТЬ
	             |			СчетНаОплатуПоставщикаОборудование.Ссылка.ВалютаДокумента,
	             |			СчетНаОплатуПоставщикаОборудование.Номенклатура,
	             |			СчетНаОплатуПоставщикаОборудование.Сумма
	             |		ИЗ
	             |			Документ.СчетНаОплатуПоставщика.Оборудование КАК СчетНаОплатуПоставщикаОборудование
	             |		ГДЕ
	             |			СчетНаОплатуПоставщикаОборудование.Ссылка = &Ссылка) КАК ДокументЗаказ
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УстановкаПроектовДляНоменклатуры.СрезПоследних(
	             |			&Дата,
	             |			НоменклатураПроекта В
	             |			    (ВЫБРАТЬ РАЗЛИЧНЫЕ
	             |			        СчетНаОплатуПоставщикаТовары.Номенклатура КАК Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПоставщика.Товары КАК СчетНаОплатуПоставщикаТовары
	             |			    ГДЕ
	             |			        СчетНаОплатуПоставщикаТовары.Ссылка = &Ссылка
	             |			
	             |			    ОБЪЕДИНИТЬ
	             |			
	             |			    ВЫБРАТЬ
	             |			        СчетНаОплатуПоставщикаВозвратнаяТара.Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПоставщика.ВозвратнаяТара КАК СчетНаОплатуПоставщикаВозвратнаяТара
	             |			    ГДЕ
	             |			        СчетНаОплатуПоставщикаВозвратнаяТара.Ссылка = &Ссылка
	             |			
	             |			    ОБЪЕДИНИТЬ
	             |			
	             |			    ВЫБРАТЬ
	             |			        СчетНаОплатуПоставщикаУслуги.Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПоставщика.Услуги КАК СчетНаОплатуПоставщикаУслуги
	             |			    ГДЕ
	             |			        СчетНаОплатуПоставщикаУслуги.Ссылка = &Ссылка
	             |			
	             |			    ОБЪЕДИНИТЬ
	             |			
	             |			    ВЫБРАТЬ
	             |			        СчетНаОплатуПоставщикаОборудование.Номенклатура
	             |			    ИЗ
	             |			        Документ.СчетНаОплатуПоставщика.Оборудование КАК СчетНаОплатуПоставщикаОборудование
	             |			    ГДЕ
	             |			        СчетНаОплатуПоставщикаОборудование.Ссылка = &Ссылка)) КАК УстановкаПроектовДляНоменклатурыСрезПоследних
	             |			ПО ДокументЗаказ.Номенклатура = УстановкаПроектовДляНоменклатурыСрезПоследних.НоменклатураПроекта
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, Валюта = &ВалютаУпрУчета) КАК КурсыУпрУчета
	             |			ПО (ИСТИНА)
	             |			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&Дата, ) КАК КурсыДокумента
	             |			ПО ДокументЗаказ.ВалютаДокумента = КурсыДокумента.Валюта) КАК ДвиженияПоСчету
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект),
	             |	ВЫБОР
	             |		КОГДА ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ЕСТЬ NULL 
	             |			ТОГДА ЛОЖЬ
	             |		ИНАЧЕ ЕСТЬNULL(ДвиженияПоСчету.Проект, &ПустойПроект) ССЫЛКА Справочник.ВидыРаспределенияПоПроектам
	             |	КОНЕЦ";*/
			//Запрос.УстановитьПараметр("Дата",Дата);
			//Запрос.УстановитьПараметр("Ссылка",Ссылка);
			//Запрос.УстановитьПараметр("ВалютаУпрУчета",ВалютаУпрУчета);
			//Запрос.УстановитьПараметр("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//ТабЗаказ=Запрос.Выполнить().Выгрузить();
			//ТабЗаказ.Колонки.Добавить("СуммаУпр",Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15,2)));
			//ТабИтог=ТабЗаказ.СкопироватьКолонки();
			//ТабИтог.Свернуть("Проект","Сумма");
			return null;
		}
		// ПолучитьТаблицуРаспределенияСчетНаОплатуПоставщика()
		//
		//

		public object ПолучитьТаблицуРаспределенияПоЗакупкам(/*Ссылка*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	             |	ЗакупкиОбороты.Проект КАК Проект,
	             |	СУММА(ЕСТЬNULL(ЗакупкиОбороты.СтоимостьОборот, 0)) КАК Сумма
	             |ИЗ
	             |	РегистрНакопления.Закупки.Обороты(, , , ДокументЗакупки = &Ссылка) КАК ЗакупкиОбороты
	             |
	             |СГРУППИРОВАТЬ ПО
	             |	ЗакупкиОбороты.Проект";*/
			//Запрос.УстановитьПараметр("Ссылка",Ссылка);
			return null;
		}
		// ПолучитьТаблицуРаспределенияПоЗакупкам()

		public void РаспределитьСписаниеДСПоПроектам(/*ТабДвижений, Строка, ДокументРасчетов, Дата,ВалютаУпрУчета*/)
		{
			//ТипДокумента=ТипЗнч(ДокументРасчетов);
			if(true/*ТипДокумента=Тип("ДокументСсылка.ЗаказПоставщику")*/)
			{
				//ТабРаспределения=ПолучитьТаблицуРаспределенияЗаказПоставщику(ДокументРасчетов,Дата);
			}
			//Сумма  = Строка.Сумма;
			//СуммаУпр = Строка.СуммаУпр;
			//МассивКоэф 		 = ТабРаспределения.ВыгрузитьКолонку("Сумма");
			//МассивСумма  = ОбщегоНазначения.РаспределитьПропорционально(Сумма, МассивКоэф,,Ложь);
			//МассивСуммаУпр= ОбщегоНазначения.РаспределитьПропорционально(СуммаУпр, МассивКоэф,,Ложь);
			if(true/*МассивСумма = Неопределено*/)
			{
				//НоваяСтрока = ТабДвижений.Добавить();
				//ОбщегоНазначения.КопироватьСтрокуТаблицыЗначений(НоваяСтрока, Строка, ТабДвижений);
			}
		}
		// РаспределитьСписаниеДСПоПроектам()

		public void РаспределитьПоступлениеДСПоПроектам(/*ТабДвижений, Строка, ДокументРасчетов, Дата, ВалютаУпрУчета*/)
		{
			//ТипДокумента=ТипЗнч(ДокументРасчетов);
			if(true/*ТипДокумента=Тип("ДокументСсылка.ЗаказПокупателя")*/)
			{
				//ТабРаспределения=ПолучитьТаблицуРаспределенияЗаказПокупателя(ДокументРасчетов,Дата);
			}
			//Сумма  = Строка.Сумма;
			//СуммаУпр = Строка.СуммаУпр;
			//МассивКоэф 		 = ТабРаспределения.ВыгрузитьКолонку("Сумма");
			//МассивСумма  = ОбщегоНазначения.РаспределитьПропорционально(Сумма, МассивКоэф,,Ложь);
			//МассивСуммаУпр= ОбщегоНазначения.РаспределитьПропорционально(СуммаУпр, МассивКоэф,,Ложь);
			if(true/*МассивСумма = Неопределено*/)
			{
				//НоваяСтрока = ТабДвижений.Добавить();
				//ОбщегоНазначения.КопироватьСтрокуТаблицыЗначений(НоваяСтрока, Строка, ТабДвижений);
			}
		}
		// РаспределитьПоступлениеДСПоПроектам()
		// Функция возвращает флаг использования подсистемы управление проектами.
		// Параметры:
		//		Дата     - дата проверки флага учетной политики "Ведение учета по проектам"
		//		Сообщать - флаг вывода предупреждающего сообщения
		//	Возврат:
		//		Булево   - флаг использования учета по проектам
		//

		public object ВедениеУчетаПоПроектам(/*Сообщать = Ложь*/)
		{
			//ВедениеУчетаПоПроектам = глЗначениеПеременной("ВедениеУчетаПоПроектам");
			if(true/*НЕ ВедениеУчетаПоПроектам И Сообщать*/)
			{
				//ОбщегоНазначения.Сообщение("Ведение учета по проектам в данной конфигурации отключено.", СтатусСообщения.ОченьВажное);
			}
			return null;
		}
		// ВедениеУчетаПоПроектам()
		// Возвращает вид распределения по проектам для статьи движения денежных средств
		//

		public object ПолучитьВидРаспределенияДляСтатьиДДС(/*Статья,Дата*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ
	|	ВидыРаспределенияСтатейДДС.ВидРаспределенияПоПроектам КАК ВидРаспределения
	|ИЗ
	|	РегистрСведений.УстановкаВидовРаспределенияДляСтатейДДС.СрезПоследних(&Дата, СтатьяДвиженияДенежныхСредств = &Статья) КАК ВидыРаспределенияСтатейДДС";*/
			//Запрос.УстановитьПараметр("Дата",Дата);
			//Запрос.УстановитьПараметр("Статья",Статья);
			//Результат=Запрос.Выполнить().Выбрать();
			if(true/*Результат.Следующий()*/)
			{
			}
			return null;
		}
		// ПолучитьВидРаспределенияДляСтатьиДДС()

		public void ОпределитьРасчетныйДокумент(/*СтрокаПлатеж,ДокументРасчетов*/)
		{
			if(true/*(Не СтрокаПлатеж.ДоговорКонтрагента.Пустая()) И СтрокаПлатеж.ВестиПоДокументамРасчетовСКонтрагентом И СтрокаПлатеж.ДокументРасчетовСКонтрагентом=Неопределено*/)
			{
				//СтрокаПлатеж.ДокументРасчетовСКонтрагентом=ДокументРасчетов;
			}
		}
		// ОпределитьРасчетныйДокумент()
		// Процедура заполняет таблицу движений регистра, отражая движения по проектам.
		// Параметры:
		//		ИсходнаяТаблица - подготовленная на основе ТЧ документа таблица
		//		ТаблицаДвижений - таблица движений регистра
		//		Проект - проект из шапки документа
		//		Дата - дата документа
		//		ВидДвижения - (строка): продажи или закупки
		//

		public void ОтразитьДвиженияПоПроектам(/*ИсходнаяТаблица,ТаблицаДвижений,Проект,Дата,ВидДвижения="Продажи",ДокументРасчетов=Неопределено*/)
		{
			//ТаблицаПроекты=ИсходнаяТаблица.СкопироватьКолонки();
			//ВалютаУпрУчета=глЗначениеПеременной("ВалютаУправленческогоУчета");
			if(true/*ВидДвижения="ДенежныеСредстваПоступление"*/)
			{
				/*// Распределение по проектам.
*/
				//ТаблицаПроекты.Свернуть("ДокументПланированияПлатежа,ДоговорКонтрагента,Сделка,ДокументРасчетовСКонтрагентом,СтатьяДвиженияДенежныхСредств,Проект","Сумма,СуммаУпр");
				//ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПроекты, ТаблицаДвижений);
			}
		}
		// ОтразитьДвиженияПоПроектам()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ РАБОТЫ С ПРОЕКТАМИ В ПРОИЗВОДСТВЕННЫХ ДОКУМЕНТАХ
		// Функция возвращает флаг использования механизма распределения затрат по проектам
		//

		public object ИспользоватьРаспределениеЗатратПоПроектам(/*Сообщать = Ложь*/)
		{
			//Флаг = глЗначениеПеременной("ИспользоватьВидыРаспределенияПоПроектам");
			if(true/*Не Флаг И Сообщать*/)
			{
				//ОбщегоНазначения.Сообщение("Использование механизма распределения по проектам в данной конфигурации отключено.", СтатусСообщения.ОченьВажное);
			}
			return null;
		}
		// ИспользоватьРаспределениеЗатратПоПроектам()
		// Функция возвращает флаг указания проектов в табличной части документов.
		//

		public object УказаниеПроектовВТабличнойЧастиДокументов(/**/)
		{
			return null;
		}
		// УказаниеПроектовВТабличнойЧастиДокументов()
		// Функция возвращает флаг ведения учета затрат по проектам.
		// Параметры:
		//		Дата     - дата проверки флага учетной политики "Ведение учета по проектам"
		//		Сообщать - флаг вывода предупреждающего сообщения
		//	Возврат:
		//		Булево   - флаг использования учета по проектам
		//

		public object ВедениеУчетаЗатратПоПроектам(/*Сообщать = Ложь*/)
		{
			//ВедениеУчетаЗатратПоПроектам = глЗначениеПеременной("ВедениеУчетаЗатратПоПроектам");
			if(true/*НЕ ВедениеУчетаЗатратПоПроектам И Сообщать*/)
			{
				//ОбщегоНазначения.Сообщение("Ведение учета затрат по проектам в данной конфигурации отключено.", СтатусСообщения.ОченьВажное);
			}
			return null;
		}
		// ВедениеУчетаЗатратПоПроектам()
		// Процедура выполняет стандартные действия при начале выбора документа составного типа в формах документов.
		//
		// Параметры:
		//  ДокументОбъект       - объект редактируемого документа;
		//  ФормаДокумента       - форма редактируемого документа;
		//  ЭлементФормы         - элемент формы документа, который надо заполнить;
		//  СтандартнаяОбработка - булево, признак выполнения стандартной (системной) обработки события
		//                         начала выбора для данного элемента формы документа.
		//  СтруктураОтбора      - структура, содержащая имена и значения отборов в форме выбора.
		//  ИмяТабличнойЧасти    - имя табличной части.
		//  ДопПараметры         - структура с дополнительными параметрами.
		//

		public void НачалоВыбораПроекта(/* ФормаДокумента, ЭлементФормы, СтандартнаяОбработка, СтруктураОтбора = Неопределено, ДопПараметры = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			/*// Заполним возможный список типов документов, которые могут быть в этом реквизите.
*/
			//МассивТипов = ЭлементФормы.ТипЗначения.Типы();
			//МассивТиповИсключений = Новый Массив;
			if(true/*Не ДопПараметры = Неопределено*/)
			{
				if(true/*ДопПараметры.Свойство("ИсключаемыеТипы")*/)
				{
					//МассивТиповИсключений = ДопПараметры["ИсключаемыеТипы"];
				}
			}
			if(true/*Не ИспользоватьРаспределениеЗатратПоПроектам()*/)
			{
				//Индекс = МассивТипов.ВГраница();
				//ТипВидыРаспр = Тип("СправочникСсылка.ВидыРаспределенияПоПроектам");
				while(true/*Индекс >= 0*/)
				{
					if(true/*ТипВидыРаспр = МассивТипов[Индекс]*/)
					{
						//МассивТипов.Удалить(Индекс);
					}
					//Индекс = Индекс - 1;
				}
				//;;
			}
			//СписокТипов = Новый СписокЗначений;
			if(true/*МассивТипов.Количество() = 0*/)
			{
				/*// Удалили все возможные типы
*/
				/*// Выбор невозможен
*/
			}
			if(true/*ТипЗнч(ЭлементФормы.Значение) <> Тип("СправочникСсылка." + ВыбранныйТип)*/)
			{
				//ЭлементФормы.Значение = Справочники[ВыбранныйТип].ПустаяСсылка();
			}
			/*// В качестве владельца формы выбора устанавливаем данный элемент,
*/
			/*// чтобы выбранное значение было присвоено стандартно.
*/
			//ФормаВыбора = Справочники[ВыбранныйТип].ПолучитьФормуВыбора(,ЭлементФормы,);
			/*// Отфильтруем список
*/
			if(true/*НЕ СтруктураОтбора = Неопределено*/)
			{
			}
			if(true/*ЗначениеЗаполнено(ЭлементФормы.Значение)*/)
			{
				//ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
			}
			//ФормаВыбора.Открыть();
		}
		// НачалоВыбораПроекта()
		// Процедура устанавлавает проект по умолчанию для статьи затрат.
		//

		public void УстановитьПроектПоУмолчанию(/*Подразделение, СтатьяЗатрат, Проект*/)
		{
			if(true/*ЗначениеЗаполнено(СтатьяЗатрат)*/)
			{
				/*//Для затрат производственного характера указание проекта не имеет смысла
*/
				//ХарактерЗатрат = СтатьяЗатрат.ХарактерЗатрат;
				if(true/*ХарактерЗатрат = Перечисления.ХарактерЗатрат.ПроизводственныеРасходы ИЛИ  ХарактерЗатрат = Перечисления.ХарактерЗатрат.БракВПроизводстве*/)
				{
					//Проект = неопределено;
				}
				/*Запрос = Новый Запрос("
		|ВЫБРАТЬ ПЕРВЫЕ 1
		|	ОсновныеПроекты.Проект КАК Проект
		|ИЗ
		|	РегистрСведений.ОсновныеПроектыДляУчетаЗатрат КАК ОсновныеПроекты
		|ГДЕ
		|	ОсновныеПроекты.СтатьяЗатрат 	= &СтатьяЗатрат
		|	И (ОсновныеПроекты.Подразделение = &Подразделение ИЛИ ОсновныеПроекты.Подразделение = &ПустоеПодразделение)
		|");*/
				//Запрос.УстановитьПараметр("СтатьяЗатрат", 		СтатьяЗатрат);
				//Запрос.УстановитьПараметр("Подразделение", 		Подразделение);
				//Запрос.УстановитьПараметр("ПустоеПодразделение", Справочники.Подразделения.ПустаяСсылка());
				//Выборка = Запрос.Выполнить().Выбрать();
				if(true/*Выборка.Следующий()*/)
				{
					//Проект = Выборка.Проект;
				}
			}
		}
		// УстановитьСпецификациюПоУмолчанию()
		// Процедура заполняет проект по реквизитам шапки документа во всех строках
		// заданной табличной части, если не используется указание проекта в табличной части.
		//

		public void ЗаполнитьПроектВСтрокахТабЧасти(/*ДокументОбъект, ТабЧасть*/)
		{
		}
		// ЗаполнитьПроектВСтрокахТабЧасти()
		// Процедура распределяет сумму затрат по проектам
		// Параметры:
		// 		ТабДвижений      - таблица значений, со структурой соответствующей структуре регистра Затраты
		//		Строка           - строка ТабДвижений. в ней содержится все данные записи регистра кроме проекта.
		//					       сумма в данной строке изменится при выходе из процедуры
		//		Сумма            - распределяемая сумма
		//		ВидРаспределения - проект, элемент справочника "Виды распределения по проектам".
		//

		public void РаспределитьЗатратыПоПроектам(/* ТабДвижений, Строка, Знач Сумма, ВидРаспределения, Знач ДатаКонМесяца*/)
		{
			/*ТекстЗапроса = "
		|ВЫБРАТЬ
		|	РаспределениеПоПроектамСрезПоследних.Проект,
		|	РаспределениеПоПроектамСрезПоследних.ДоляРаспределения
		|ИЗ
		|	РегистрСведений.РаспределениеПоПроектам.СрезПоследних(&КонМесяца, ВидРаспределения = &ВидРаспределения) КАК РаспределениеПоПроектамСрезПоследних
		|";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр( "ВидРаспределения", ВидРаспределения);
			//Запрос.УстановитьПараметр( "КонМесяца",        КонецМесяца( ДатаКонМесяца));
			//РезультатЗапроса = Запрос.Выполнить();
			if(true/*РезультатЗапроса.Пустой()*/)
			{
				//ОбщегоНазначения.Сообщение("Не удалось выполнить распределение затрат по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
				//Строка.Сумма = Сумма;
				/*// Всю сумму пишем без проекта
*/
			}
			//ТабЗапроса = РезультатЗапроса.Выгрузить();
			//МассивКоэф = ТабЗапроса.ВыгрузитьКолонку("ДоляРаспределения");
			//МассивСумм = ОбщегоНазначения.РаспределитьПропорционально( Сумма, МассивКоэф);
			if(true/*МассивСумм = Неопределено*/)
			{
				//ОбщегоНазначения.Сообщение("Неверные коэффициенты (сумма) для распределения распределение затрат по виду распределения """ + ВидРаспределения + """", СтатусСообщения.Внимание);
				//Строка.Сумма = Сумма;
				/*// Всю сумму пишем без проекта
*/
			}
			//Строка.Сумма  = МассивСумм[0];
			/*// сумма в текущей строке заменяется суммой из распределения
*/
			//Строка.Проект = ТабЗапроса[0].Проект;
		}
		// РаспределитьЗатратыПоПроектам()
		//Процедура управляет доступностью ячейки Проект в табличном поле в зависимости от характера затрат

		public void УстановитьДоступностьПроектаВСтрокеТабЧасти(/*ХарактерЗатрат, ОформлениеСтроки, ТабПоле*/)
		{
			if(true/*ТабПоле.Колонки.Проект.Видимость*/)
			{
				//ТолькоПросмотрПроект = (ХарактерЗатрат=Перечисления.ХарактерЗатрат.ПроизводственныеРасходы ИЛИ ХарактерЗатрат=Перечисления.ХарактерЗатрат.БракВПроизводстве);
				//ОформлениеСтроки.Ячейки.Проект.ТолькоПросмотр = ТолькоПросмотрПроект;
			}
		}
	}
}
